home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 1997 October: Mac OS SDK / Dev.CD Oct 97 SDK1.toast / Development Kits (Disc 1) / Interfaces&Libraries / Universal / Interfaces / PInterfaces / ImageCompression.p < prev    next >
Encoding:
Text File  |  1997-08-12  |  56.2 KB  |  1,248 lines  |  [TEXT/MPS ]

  1. {
  2.      File:        ImageCompression.p
  3.  
  4.      Contains:    QuickTime Image Compression Interfaces.
  5.  
  6.      Version:    Technology:    QuickTime 2.5
  7.                  Release:    Universal Interfaces 3.0.1
  8.  
  9.      Copyright:    © 1990-1997 by Apple Computer, Inc., all rights reserved
  10.  
  11.      Bugs?:        Please include the the file and version information (from above) with
  12.                  the problem description.  Developers belonging to one of the Apple
  13.                  developer programs can submit bug reports to:
  14.  
  15.                      devsupport@apple.com
  16.  
  17. }
  18. {$IFC UNDEFINED UsingIncludes}
  19. {$SETC UsingIncludes := 0}
  20. {$ENDC}
  21.  
  22. {$IFC NOT UsingIncludes}
  23.  UNIT ImageCompression;
  24.  INTERFACE
  25. {$ENDC}
  26.  
  27. {$IFC UNDEFINED __IMAGECOMPRESSION__}
  28. {$SETC __IMAGECOMPRESSION__ := 1}
  29.  
  30. {$I+}
  31. {$SETC ImageCompressionIncludes := UsingIncludes}
  32. {$SETC UsingIncludes := 1}
  33.  
  34. {$IFC UNDEFINED __TYPES__}
  35. {$I Types.p}
  36. {$ENDC}
  37. {$IFC UNDEFINED __QUICKDRAW__}
  38. {$I Quickdraw.p}
  39. {$ENDC}
  40. {$IFC UNDEFINED __QDOFFSCREEN__}
  41. {$I QDOffscreen.p}
  42. {$ENDC}
  43. {$IFC UNDEFINED __COMPONENTS__}
  44. {$I Components.p}
  45. {$ENDC}
  46. {$IFC UNDEFINED __STANDARDFILE__}
  47. {$I StandardFile.p}
  48. {$ENDC}
  49.  
  50.  
  51. {$PUSH}
  52. {$ALIGN MAC68K}
  53. {$LibExport+}
  54.  
  55.  
  56. TYPE
  57.     MatrixRecordPtr = ^MatrixRecord;
  58.     MatrixRecord = RECORD
  59.         matrix:                    ARRAY [0..2,0..2] OF Fixed;
  60.     END;
  61.  
  62.  
  63.     FixedPointPtr = ^FixedPoint;
  64.     FixedPoint = RECORD
  65.         x:                        Fixed;
  66.         y:                        Fixed;
  67.     END;
  68.  
  69.  
  70.     FixedRectPtr = ^FixedRect;
  71.     FixedRect = RECORD
  72.         left:                    Fixed;
  73.         top:                    Fixed;
  74.         right:                    Fixed;
  75.         bottom:                    Fixed;
  76.     END;
  77.  
  78.  
  79. CONST
  80.     kRawCodecType                = 'raw ';
  81.     kCinepakCodecType            = 'cvid';
  82.     kGraphicsCodecType            = 'smc ';
  83.     kAnimationCodecType            = 'rle ';
  84.     kVideoCodecType                = 'rpza';
  85.     kComponentVideoCodecType    = 'yuv2';
  86.     kJPEGCodecType                = 'jpeg';
  87.     kMotionJPEGACodecType        = 'mjpa';
  88.     kMotionJPEGBCodecType        = 'mjpb';
  89.     kSGICodecType                = '.SGI';
  90.     kPlanarRGBCodecType            = '8BPS';
  91.     kMacPaintCodecType            = 'PNTG';
  92.     kGIFCodecType                = 'gif ';
  93.     kPhotoCDCodecType            = 'kpcd';
  94.     kQuickDrawGXCodecType        = 'qdgx';
  95.  
  96.  
  97.  
  98.  
  99. { These are the bits that are set in the Component flags, and also in the codecInfo struct. }
  100.     codecInfoDoes1                = $00000001;
  101.     codecInfoDoes2                = $00000002;
  102.     codecInfoDoes4                = $00000004;
  103.     codecInfoDoes8                = $00000008;
  104.     codecInfoDoes16                = $00000010;
  105.     codecInfoDoes32                = $00000020;
  106.     codecInfoDoesDither            = $00000040;
  107.     codecInfoDoesStretch        = $00000080;
  108.     codecInfoDoesShrink            = $00000100;
  109.     codecInfoDoesMask            = $00000200;
  110.     codecInfoDoesTemporal        = $00000400;
  111.     codecInfoDoesDouble            = $00000800;
  112.     codecInfoDoesQuad            = $00001000;
  113.     codecInfoDoesHalf            = $00002000;
  114.     codecInfoDoesQuarter        = $00004000;
  115.     codecInfoDoesRotate            = $00008000;
  116.     codecInfoDoesHorizFlip        = $00010000;
  117.     codecInfoDoesVertFlip        = $00020000;
  118.     codecInfoDoesSkew            = $00040000;
  119.     codecInfoDoesBlend            = $00080000;
  120.     codecInfoDoesWarp            = $00100000;
  121.     codecInfoDoesRecompress        = $00200000;
  122.     codecInfoDoesSpool            = $00400000;
  123.     codecInfoDoesRateConstrain    = $00800000;
  124.  
  125.  
  126.     codecInfoDepth1                = $00000001;
  127.     codecInfoDepth2                = $00000002;
  128.     codecInfoDepth4                = $00000004;
  129.     codecInfoDepth8                = $00000008;
  130.     codecInfoDepth16            = $00000010;
  131.     codecInfoDepth32            = $00000020;
  132.     codecInfoDepth24            = $00000040;
  133.     codecInfoDepth33            = $00000080;
  134.     codecInfoDepth34            = $00000100;
  135.     codecInfoDepth36            = $00000200;
  136.     codecInfoDepth40            = $00000400;
  137.     codecInfoStoresClut            = $00000800;
  138.     codecInfoDoesLossless        = $00001000;
  139.     codecInfoSequenceSensitive    = $00002000;
  140.  
  141.     codecFlagUseImageBuffer        = $00000001;
  142.     codecFlagUseScreenBuffer    = $00000002;
  143.     codecFlagUpdatePrevious        = $00000004;
  144.     codecFlagNoScreenUpdate        = $00000008;
  145.     codecFlagWasCompressed        = $00000010;
  146.     codecFlagDontOffscreen        = $00000020;
  147.     codecFlagUpdatePreviousComp    = $00000040;
  148.     codecFlagForceKeyFrame        = $00000080;
  149.     codecFlagOnlyScreenUpdate    = $00000100;
  150.     codecFlagLiveGrab            = $00000200;
  151.     codecFlagDontUseNewImageBuffer = $00000400;
  152.     codecFlagInterlaceUpdate    = $00000800;
  153.     codecFlagCatchUpDiff        = $00001000;
  154.     codecFlagImageBufferNotSourceImage = $00002000;
  155.     codecFlagUsedNewImageBuffer    = $00004000;
  156.     codecFlagUsedImageBuffer    = $00008000;
  157.  
  158.  
  159.  
  160.                                                                 {  The minimum data size for spooling in or out data  }
  161.     codecMinimumDataSize        = 32768;
  162.  
  163.  
  164.     compressorComponentType        = 'imco';                        {  the type for "Components" which compress images  }
  165.     decompressorComponentType    = 'imdc';                        {  the type for "Components" which decompress images  }
  166.  
  167.  
  168. TYPE
  169.     CompressorComponent                    = Component;
  170.     DecompressorComponent                = Component;
  171.     CodecComponent                        = Component;
  172.  
  173. CONST
  174.     anyCodec                    = 0;                            {  take first working codec of given type  }
  175.     bestSpeedCodec                = -1;                            {  take fastest codec of given type  }
  176.     bestFidelityCodec            = -2;                            {  take codec which is most accurate  }
  177.     bestCompressionCodec        = -3;                            {  take codec of given type that is most accurate  }
  178.  
  179.  
  180. TYPE
  181.     CodecType                            = LONGINT;
  182.     CodecFlags                            = INTEGER;
  183.     CodecQ                                = LONGINT;
  184.  
  185. CONST
  186.     codecLosslessQuality        = $00000400;
  187.     codecMaxQuality                = $000003FF;
  188.     codecMinQuality                = $00000000;
  189.     codecLowQuality                = $00000100;
  190.     codecNormalQuality            = $00000200;
  191.     codecHighQuality            = $00000300;
  192.  
  193.     codecCompletionSource        = $01;                            {  asynchronous codec is done with source data  }
  194.     codecCompletionDest            = $02;                            {  asynchronous codec is done with destination data  }
  195.     codecCompletionDontUnshield    = $04;                            {  on dest complete don't unshield cursor  }
  196.  
  197.     codecProgressOpen            = 0;
  198.     codecProgressUpdatePercent    = 1;
  199.     codecProgressClose            = 2;
  200.  
  201.  
  202. TYPE
  203.     ICMDataProcPtr = ProcPtr;  { FUNCTION ICMData(VAR dataP: Ptr; bytesNeeded: LONGINT; refcon: LONGINT): OSErr; }
  204.  
  205.     ICMFlushProcPtr = ProcPtr;  { FUNCTION ICMFlush(data: Ptr; bytesAdded: LONGINT; refcon: LONGINT): OSErr; }
  206.  
  207.     ICMCompletionProcPtr = ProcPtr;  { PROCEDURE ICMCompletion(result: OSErr; flags: INTEGER; refcon: LONGINT); }
  208.  
  209.     ICMProgressProcPtr = ProcPtr;  { FUNCTION ICMProgress(message: INTEGER; completeness: Fixed; refcon: LONGINT): OSErr; }
  210.  
  211.     StdPixProcPtr = ProcPtr;  { PROCEDURE StdPix(VAR src: PixMap; VAR srcRect: Rect; VAR matrix: MatrixRecord; mode: INTEGER; mask: RgnHandle; VAR matte: PixMap; VAR matteRect: Rect; flags: INTEGER); }
  212.  
  213.     ICMAlignmentProcPtr = ProcPtr;  { PROCEDURE ICMAlignment(VAR rp: Rect; refcon: LONGINT); }
  214.  
  215.     ICMCursorShieldedProcPtr = ProcPtr;  { PROCEDURE ICMCursorShielded((CONST)VAR r: Rect; refcon: UNIV Ptr; flags: LONGINT); }
  216.  
  217.     ICMMemoryDisposedProcPtr = ProcPtr;  { PROCEDURE ICMMemoryDisposed(memoryBlock: Ptr; refcon: UNIV Ptr); }
  218.  
  219.     ICMCursorNotify                        = Ptr;
  220.     ICMConvertDataFormatProcPtr = ProcPtr;  { FUNCTION ICMConvertDataFormat(refCon: UNIV Ptr; flags: LONGINT; desiredFormat: Handle; srcData: UNIV Ptr; srcDataSize: LONGINT; VAR dstData: UNIV Ptr; VAR dstDataSize: LONGINT): OSErr; }
  221.  
  222.     ICMDataUPP = UniversalProcPtr;
  223.     ICMFlushUPP = UniversalProcPtr;
  224.     ICMCompletionUPP = UniversalProcPtr;
  225.     ICMProgressUPP = UniversalProcPtr;
  226.     StdPixUPP = UniversalProcPtr;
  227.     ICMAlignmentUPP = UniversalProcPtr;
  228.     ICMCursorShieldedUPP = UniversalProcPtr;
  229.     ICMMemoryDisposedUPP = UniversalProcPtr;
  230.     ICMConvertDataFormatUPP = UniversalProcPtr;
  231.     ImageSequence                        = LONGINT;
  232.     ImageSequenceDataSource                = LONGINT;
  233.     ImageTranscodeSequence                = LONGINT;
  234.     ImageFieldSequence                    = LONGINT;
  235.     ICMProgressProcRecordPtr = ^ICMProgressProcRecord;
  236.     ICMProgressProcRecord = RECORD
  237.         progressProc:            ICMProgressUPP;
  238.         progressRefCon:            LONGINT;
  239.     END;
  240.  
  241.     ICMCompletionProcRecordPtr = ^ICMCompletionProcRecord;
  242.     ICMCompletionProcRecord = RECORD
  243.         completionProc:            ICMCompletionUPP;
  244.         completionRefCon:        LONGINT;
  245.     END;
  246.  
  247.     ICMDataProcRecordPtr = ^ICMDataProcRecord;
  248.     ICMDataProcRecord = RECORD
  249.         dataProc:                ICMDataUPP;
  250.         dataRefCon:                LONGINT;
  251.     END;
  252.  
  253.     ICMFlushProcRecordPtr = ^ICMFlushProcRecord;
  254.     ICMFlushProcRecord = RECORD
  255.         flushProc:                ICMFlushUPP;
  256.         flushRefCon:            LONGINT;
  257.     END;
  258.  
  259.     ICMAlignmentProcRecordPtr = ^ICMAlignmentProcRecord;
  260.     ICMAlignmentProcRecord = RECORD
  261.         alignmentProc:            ICMAlignmentUPP;
  262.         alignmentRefCon:        LONGINT;
  263.     END;
  264.  
  265.     DataRateParamsPtr = ^DataRateParams;
  266.     DataRateParams = RECORD
  267.         dataRate:                LONGINT;
  268.         dataOverrun:            LONGINT;
  269.         frameDuration:            LONGINT;
  270.         keyFrameRate:            LONGINT;
  271.         minSpatialQuality:        CodecQ;
  272.         minTemporalQuality:        CodecQ;
  273.     END;
  274.  
  275.     ImageDescriptionPtr = ^ImageDescription;
  276.     ImageDescription = PACKED RECORD
  277.         idSize:                    LONGINT;                                {  total size of ImageDescription including extra data ( CLUTs and other per sequence data )  }
  278.         cType:                    CodecType;                                {  what kind of codec compressed this data  }
  279.         resvd1:                    LONGINT;                                {  reserved for Apple use  }
  280.         resvd2:                    INTEGER;                                {  reserved for Apple use  }
  281.         dataRefIndex:            INTEGER;                                {  set to zero   }
  282.         version:                INTEGER;                                {  which version is this data  }
  283.         revisionLevel:            INTEGER;                                {  what version of that codec did this  }
  284.         vendor:                    LONGINT;                                {  whose  codec compressed this data  }
  285.         temporalQuality:        CodecQ;                                    {  what was the temporal quality factor   }
  286.         spatialQuality:            CodecQ;                                    {  what was the spatial quality factor  }
  287.         width:                    INTEGER;                                {  how many pixels wide is this data  }
  288.         height:                    INTEGER;                                {  how many pixels high is this data  }
  289.         hRes:                    Fixed;                                    {  horizontal resolution  }
  290.         vRes:                    Fixed;                                    {  vertical resolution  }
  291.         dataSize:                LONGINT;                                {  if known, the size of data for this image descriptor  }
  292.         frameCount:                INTEGER;                                {  number of frames this description applies to  }
  293.         name:                    Str31;                                    {  name of codec ( in case not installed )   }
  294.         depth:                    INTEGER;                                {  what depth is this data (1-32) or ( 33-40 grayscale )  }
  295.         clutID:                    INTEGER;                                {  clut id or if 0 clut follows  or -1 if no clut  }
  296.     END;
  297.  
  298.     ImageDescriptionHandle                = ^ImageDescriptionPtr;
  299.     CodecInfoPtr = ^CodecInfo;
  300.     CodecInfo = PACKED RECORD
  301.         typeName:                Str31;                                    {  name of the codec type i.e.: 'Apple Image Compression'  }
  302.         version:                INTEGER;                                {  version of the codec data that this codec knows about  }
  303.         revisionLevel:            INTEGER;                                {  revision level of this codec i.e: 0x00010001 (1.0.1)  }
  304.         vendor:                    LONGINT;                                {  Maker of this codec i.e: 'appl'  }
  305.         decompressFlags:        LONGINT;                                {  codecInfo flags for decompression capabilities  }
  306.         compressFlags:            LONGINT;                                {  codecInfo flags for compression capabilities  }
  307.         formatFlags:            LONGINT;                                {  codecInfo flags for compression format details  }
  308.         compressionAccuracy:    UInt8;                                    {  measure (1-255) of accuracy of this codec for compress (0 if unknown)  }
  309.         decompressionAccuracy:    UInt8;                                    {  measure (1-255) of accuracy of this codec for decompress (0 if unknown)  }
  310.         compressionSpeed:        INTEGER;                                {  ( millisecs for compressing 320x240 on base mac II) (0 if unknown)   }
  311.         decompressionSpeed:        INTEGER;                                {  ( millisecs for decompressing 320x240 on mac II)(0 if unknown)   }
  312.         compressionLevel:        UInt8;                                    {  measure (1-255) of compression level of this codec (0 if unknown)   }
  313.         resvd:                    UInt8;                                    {  pad  }
  314.         minimumHeight:            INTEGER;                                {  minimum height of image (block size)  }
  315.         minimumWidth:            INTEGER;                                {  minimum width of image (block size)  }
  316.         decompressPipelineLatency: INTEGER;                                {  in milliseconds ( for asynchronous codecs )  }
  317.         compressPipelineLatency: INTEGER;                                {  in milliseconds ( for asynchronous codecs )  }
  318.         privateData:            LONGINT;
  319.     END;
  320.  
  321.     CodecNameSpecPtr = ^CodecNameSpec;
  322.     CodecNameSpec = RECORD
  323.         codec:                    CodecComponent;
  324.         cType:                    CodecType;
  325.         typeName:                Str31;
  326.         name:                    Handle;
  327.     END;
  328.  
  329.     CodecNameSpecListPtr = ^CodecNameSpecList;
  330.     CodecNameSpecList = RECORD
  331.         count:                    INTEGER;
  332.         list:                    ARRAY [0..0] OF CodecNameSpec;
  333.     END;
  334.  
  335.  
  336. CONST
  337.     defaultDither                = 0;
  338.     forceDither                    = 1;
  339.     suppressDither                = 2;
  340.     useColorMatching            = 4;
  341.  
  342.     callStdBits                    = 1;
  343.     callOldBits                    = 2;
  344.     noDefaultOpcodes            = 4;
  345.  
  346.     graphicsModeStraightAlpha    = 256;
  347.     graphicsModePreWhiteAlpha    = 257;
  348.     graphicsModePreBlackAlpha    = 258;
  349.     graphicsModeCompostion        = 259;
  350.     graphicsModeStraightAlphaBlend = 260;
  351.  
  352.     evenField1ToEvenFieldOut    = $01;
  353.     evenField1ToOddFieldOut        = $02;
  354.     oddField1ToEvenFieldOut        = $04;
  355.     oddField1ToOddFieldOut        = $08;
  356.     evenField2ToEvenFieldOut    = $10;
  357.     evenField2ToOddFieldOut        = $20;
  358.     oddField2ToEvenFieldOut        = $40;
  359.     oddField2ToOddFieldOut        = $80;
  360.  
  361.  
  362. TYPE
  363.     ICMFrameTimeRecordPtr = ^ICMFrameTimeRecord;
  364.     ICMFrameTimeRecord = RECORD
  365.         value:                    wide;                                    {  frame time }
  366.         scale:                    LONGINT;                                {  timescale of value/duration fields }
  367.         base:                    Ptr;                                    {  timebase }
  368.         duration:                LONGINT;                                {  duration frame is to be displayed (0 if unknown) }
  369.         rate:                    Fixed;                                    {  rate of timebase relative to wall-time }
  370.         recordSize:                LONGINT;                                {  total number of bytes in ICMFrameTimeRecord }
  371.         frameNumber:            LONGINT;                                {  number of frame, zero if not known }
  372.     END;
  373.  
  374.     ICMFrameTimePtr                        = ^ICMFrameTimeRecord;
  375.  
  376. CONST
  377.     uppICMDataProcInfo = $00000FE0;
  378.     uppICMFlushProcInfo = $00000FE0;
  379.     uppICMCompletionProcInfo = $00000E80;
  380.     uppICMProgressProcInfo = $00000FA0;
  381.     uppStdPixProcInfo = $002FEFC0;
  382.     uppICMAlignmentProcInfo = $000003C0;
  383.     uppICMCursorShieldedProcInfo = $00000FC0;
  384.     uppICMMemoryDisposedProcInfo = $000003C0;
  385.     uppICMConvertDataFormatProcInfo = $000FFFE0;
  386.  
  387. FUNCTION NewICMDataProc(userRoutine: ICMDataProcPtr): ICMDataUPP;
  388.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  389.     INLINE $2E9F;
  390.     {$ENDC}
  391.  
  392. FUNCTION NewICMFlushProc(userRoutine: ICMFlushProcPtr): ICMFlushUPP;
  393.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  394.     INLINE $2E9F;
  395.     {$ENDC}
  396.  
  397. FUNCTION NewICMCompletionProc(userRoutine: ICMCompletionProcPtr): ICMCompletionUPP;
  398.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  399.     INLINE $2E9F;
  400.     {$ENDC}
  401.  
  402. FUNCTION NewICMProgressProc(userRoutine: ICMProgressProcPtr): ICMProgressUPP;
  403.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  404.     INLINE $2E9F;
  405.     {$ENDC}
  406.  
  407. FUNCTION NewStdPixProc(userRoutine: StdPixProcPtr): StdPixUPP;
  408.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  409.     INLINE $2E9F;
  410.     {$ENDC}
  411.  
  412. FUNCTION NewICMAlignmentProc(userRoutine: ICMAlignmentProcPtr): ICMAlignmentUPP;
  413.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  414.     INLINE $2E9F;
  415.     {$ENDC}
  416.  
  417. FUNCTION NewICMCursorShieldedProc(userRoutine: ICMCursorShieldedProcPtr): ICMCursorShieldedUPP;
  418.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  419.     INLINE $2E9F;
  420.     {$ENDC}
  421.  
  422. FUNCTION NewICMMemoryDisposedProc(userRoutine: ICMMemoryDisposedProcPtr): ICMMemoryDisposedUPP;
  423.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  424.     INLINE $2E9F;
  425.     {$ENDC}
  426.  
  427. FUNCTION NewICMConvertDataFormatProc(userRoutine: ICMConvertDataFormatProcPtr): ICMConvertDataFormatUPP;
  428.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  429.     INLINE $2E9F;
  430.     {$ENDC}
  431.  
  432. FUNCTION CallICMDataProc(VAR dataP: Ptr; bytesNeeded: LONGINT; refcon: LONGINT; userRoutine: ICMDataUPP): OSErr;
  433.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  434.     INLINE $205F, $4E90;
  435.     {$ENDC}
  436.  
  437. FUNCTION CallICMFlushProc(data: Ptr; bytesAdded: LONGINT; refcon: LONGINT; userRoutine: ICMFlushUPP): OSErr;
  438.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  439.     INLINE $205F, $4E90;
  440.     {$ENDC}
  441.  
  442. PROCEDURE CallICMCompletionProc(result: OSErr; flags: INTEGER; refcon: LONGINT; userRoutine: ICMCompletionUPP);
  443.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  444.     INLINE $205F, $4E90;
  445.     {$ENDC}
  446.  
  447. FUNCTION CallICMProgressProc(message: INTEGER; completeness: Fixed; refcon: LONGINT; userRoutine: ICMProgressUPP): OSErr;
  448.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  449.     INLINE $205F, $4E90;
  450.     {$ENDC}
  451.  
  452. PROCEDURE CallStdPixProc(VAR src: PixMap; VAR srcRect: Rect; VAR matrix: MatrixRecord; mode: INTEGER; mask: RgnHandle; VAR matte: PixMap; VAR matteRect: Rect; flags: INTEGER; userRoutine: StdPixUPP);
  453.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  454.     INLINE $205F, $4E90;
  455.     {$ENDC}
  456.  
  457. PROCEDURE CallICMAlignmentProc(VAR rp: Rect; refcon: LONGINT; userRoutine: ICMAlignmentUPP);
  458.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  459.     INLINE $205F, $4E90;
  460.     {$ENDC}
  461.  
  462. PROCEDURE CallICMCursorShieldedProc({CONST}VAR r: Rect; refcon: UNIV Ptr; flags: LONGINT; userRoutine: ICMCursorShieldedUPP);
  463.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  464.     INLINE $205F, $4E90;
  465.     {$ENDC}
  466.  
  467. PROCEDURE CallICMMemoryDisposedProc(memoryBlock: Ptr; refcon: UNIV Ptr; userRoutine: ICMMemoryDisposedUPP);
  468.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  469.     INLINE $205F, $4E90;
  470.     {$ENDC}
  471.  
  472. FUNCTION CallICMConvertDataFormatProc(refCon: UNIV Ptr; flags: LONGINT; desiredFormat: Handle; srcData: UNIV Ptr; srcDataSize: LONGINT; VAR dstData: UNIV Ptr; VAR dstDataSize: LONGINT; userRoutine: ICMConvertDataFormatUPP): OSErr;
  473.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  474.     INLINE $205F, $4E90;
  475.     {$ENDC}
  476.  
  477. FUNCTION CodecManagerVersion(VAR version: LONGINT): OSErr;
  478.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  479.     INLINE $7000, $AAA3;
  480.     {$ENDC}
  481. FUNCTION GetCodecNameList(VAR list: CodecNameSpecListPtr; showAll: INTEGER): OSErr;
  482.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  483.     INLINE $7001, $AAA3;
  484.     {$ENDC}
  485. FUNCTION DisposeCodecNameList(list: CodecNameSpecListPtr): OSErr;
  486.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  487.     INLINE $700F, $AAA3;
  488.     {$ENDC}
  489. FUNCTION GetCodecInfo(VAR info: CodecInfo; cType: CodecType; codec: CodecComponent): OSErr;
  490.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  491.     INLINE $7003, $AAA3;
  492.     {$ENDC}
  493. FUNCTION GetMaxCompressionSize(src: PixMapHandle; {CONST}VAR srcRect: Rect; colorDepth: INTEGER; quality: CodecQ; cType: CodecType; codec: CompressorComponent; VAR size: LONGINT): OSErr;
  494.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  495.     INLINE $7004, $AAA3;
  496.     {$ENDC}
  497. FUNCTION GetCSequenceMaxCompressionSize(seqID: ImageSequence; src: PixMapHandle; VAR size: LONGINT): OSErr;
  498.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  499.     INLINE $203C, $000C, $0074, $AAA3;
  500.     {$ENDC}
  501. FUNCTION GetCompressionTime(src: PixMapHandle; {CONST}VAR srcRect: Rect; colorDepth: INTEGER; cType: CodecType; codec: CompressorComponent; VAR spatialQuality: CodecQ; VAR temporalQuality: CodecQ; VAR compressTime: LONGINT): OSErr;
  502.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  503.     INLINE $7005, $AAA3;
  504.     {$ENDC}
  505. FUNCTION CompressImage(src: PixMapHandle; {CONST}VAR srcRect: Rect; quality: CodecQ; cType: CodecType; desc: ImageDescriptionHandle; data: Ptr): OSErr;
  506.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  507.     INLINE $7006, $AAA3;
  508.     {$ENDC}
  509. FUNCTION FCompressImage(src: PixMapHandle; {CONST}VAR srcRect: Rect; colorDepth: INTEGER; quality: CodecQ; cType: CodecType; codec: CompressorComponent; ctable: CTabHandle; flags: CodecFlags; bufferSize: LONGINT; flushProc: ICMFlushProcRecordPtr; progressProc: ICMProgressProcRecordPtr; desc: ImageDescriptionHandle; data: Ptr): OSErr;
  510.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  511.     INLINE $7007, $AAA3;
  512.     {$ENDC}
  513. FUNCTION DecompressImage(data: Ptr; desc: ImageDescriptionHandle; dst: PixMapHandle; {CONST}VAR srcRect: Rect; {CONST}VAR dstRect: Rect; mode: INTEGER; mask: RgnHandle): OSErr;
  514.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  515.     INLINE $7008, $AAA3;
  516.     {$ENDC}
  517. FUNCTION FDecompressImage(data: Ptr; desc: ImageDescriptionHandle; dst: PixMapHandle; {CONST}VAR srcRect: Rect; matrix: MatrixRecordPtr; mode: INTEGER; mask: RgnHandle; matte: PixMapHandle; {CONST}VAR matteRect: Rect; accuracy: CodecQ; codec: DecompressorComponent; bufferSize: LONGINT; dataProc: ICMDataProcRecordPtr; progressProc: ICMProgressProcRecordPtr): OSErr;
  518.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  519.     INLINE $7009, $AAA3;
  520.     {$ENDC}
  521. FUNCTION CompressSequenceBegin(VAR seqID: ImageSequence; src: PixMapHandle; prev: PixMapHandle; {CONST}VAR srcRect: Rect; {CONST}VAR prevRect: Rect; colorDepth: INTEGER; cType: CodecType; codec: CompressorComponent; spatialQuality: CodecQ; temporalQuality: CodecQ; keyFrameRate: LONGINT; ctable: CTabHandle; flags: CodecFlags; desc: ImageDescriptionHandle): OSErr;
  522.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  523.     INLINE $700A, $AAA3;
  524.     {$ENDC}
  525. FUNCTION CompressSequenceFrame(seqID: ImageSequence; src: PixMapHandle; {CONST}VAR srcRect: Rect; flags: CodecFlags; data: Ptr; VAR dataSize: LONGINT; VAR similarity: UInt8; asyncCompletionProc: ICMCompletionProcRecordPtr): OSErr;
  526.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  527.     INLINE $700B, $AAA3;
  528.     {$ENDC}
  529. FUNCTION DecompressSequenceBegin(VAR seqID: ImageSequence; desc: ImageDescriptionHandle; port: CGrafPtr; gdh: GDHandle; {CONST}VAR srcRect: Rect; matrix: MatrixRecordPtr; mode: INTEGER; mask: RgnHandle; flags: CodecFlags; accuracy: CodecQ; codec: DecompressorComponent): OSErr;
  530.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  531.     INLINE $700D, $AAA3;
  532.     {$ENDC}
  533. FUNCTION DecompressSequenceBeginS(VAR seqID: ImageSequence; desc: ImageDescriptionHandle; data: Ptr; dataSize: LONGINT; port: CGrafPtr; gdh: GDHandle; {CONST}VAR srcRect: Rect; matrix: MatrixRecordPtr; mode: INTEGER; mask: RgnHandle; flags: CodecFlags; accuracy: CodecQ; codec: DecompressorComponent): OSErr;
  534.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  535.     INLINE $203C, $0030, $005D, $AAA3;
  536.     {$ENDC}
  537. FUNCTION DecompressSequenceFrame(seqID: ImageSequence; data: Ptr; inFlags: CodecFlags; VAR outFlags: CodecFlags; asyncCompletionProc: ICMCompletionProcRecordPtr): OSErr;
  538.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  539.     INLINE $700E, $AAA3;
  540.     {$ENDC}
  541. FUNCTION DecompressSequenceFrameS(seqID: ImageSequence; data: Ptr; dataSize: LONGINT; inFlags: CodecFlags; VAR outFlags: CodecFlags; asyncCompletionProc: ICMCompletionProcRecordPtr): OSErr;
  542.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  543.     INLINE $203C, $0016, $0047, $AAA3;
  544.     {$ENDC}
  545. FUNCTION DecompressSequenceFrameWhen(seqID: ImageSequence; data: Ptr; dataSize: LONGINT; inFlags: CodecFlags; VAR outFlags: CodecFlags; asyncCompletionProc: ICMCompletionProcRecordPtr; {CONST}VAR frameTime: ICMFrameTimeRecord): OSErr;
  546.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  547.     INLINE $203C, $001A, $005E, $AAA3;
  548.     {$ENDC}
  549. FUNCTION CDSequenceFlush(seqID: ImageSequence): OSErr;
  550.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  551.     INLINE $203C, $0004, $005F, $AAA3;
  552.     {$ENDC}
  553. FUNCTION SetDSequenceMatrix(seqID: ImageSequence; matrix: MatrixRecordPtr): OSErr;
  554.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  555.     INLINE $7010, $AAA3;
  556.     {$ENDC}
  557. FUNCTION SetDSequenceMatte(seqID: ImageSequence; matte: PixMapHandle; {CONST}VAR matteRect: Rect): OSErr;
  558.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  559.     INLINE $7011, $AAA3;
  560.     {$ENDC}
  561. FUNCTION SetDSequenceMask(seqID: ImageSequence; mask: RgnHandle): OSErr;
  562.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  563.     INLINE $7012, $AAA3;
  564.     {$ENDC}
  565. FUNCTION SetDSequenceTransferMode(seqID: ImageSequence; mode: INTEGER; {CONST}VAR opColor: RGBColor): OSErr;
  566.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  567.     INLINE $7013, $AAA3;
  568.     {$ENDC}
  569. FUNCTION SetDSequenceDataProc(seqID: ImageSequence; dataProc: ICMDataProcRecordPtr; bufferSize: LONGINT): OSErr;
  570.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  571.     INLINE $7014, $AAA3;
  572.     {$ENDC}
  573. FUNCTION SetDSequenceAccuracy(seqID: ImageSequence; accuracy: CodecQ): OSErr;
  574.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  575.     INLINE $7034, $AAA3;
  576.     {$ENDC}
  577. FUNCTION SetDSequenceSrcRect(seqID: ImageSequence; {CONST}VAR srcRect: Rect): OSErr;
  578.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  579.     INLINE $7035, $AAA3;
  580.     {$ENDC}
  581.  
  582. FUNCTION GetDSequenceImageBuffer(seqID: ImageSequence; VAR gworld: GWorldPtr): OSErr;
  583.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  584.     INLINE $7015, $AAA3;
  585.     {$ENDC}
  586. FUNCTION GetDSequenceScreenBuffer(seqID: ImageSequence; VAR gworld: GWorldPtr): OSErr;
  587.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  588.     INLINE $7016, $AAA3;
  589.     {$ENDC}
  590. FUNCTION SetCSequenceQuality(seqID: ImageSequence; spatialQuality: CodecQ; temporalQuality: CodecQ): OSErr;
  591.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  592.     INLINE $7017, $AAA3;
  593.     {$ENDC}
  594. FUNCTION SetCSequencePrev(seqID: ImageSequence; prev: PixMapHandle; {CONST}VAR prevRect: Rect): OSErr;
  595.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  596.     INLINE $7018, $AAA3;
  597.     {$ENDC}
  598. FUNCTION SetCSequenceFlushProc(seqID: ImageSequence; flushProc: ICMFlushProcRecordPtr; bufferSize: LONGINT): OSErr;
  599.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  600.     INLINE $7033, $AAA3;
  601.     {$ENDC}
  602. FUNCTION SetCSequenceKeyFrameRate(seqID: ImageSequence; keyFrameRate: LONGINT): OSErr;
  603.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  604.     INLINE $7036, $AAA3;
  605.     {$ENDC}
  606. FUNCTION GetCSequenceKeyFrameRate(seqID: ImageSequence; VAR keyFrameRate: LONGINT): OSErr;
  607.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  608.     INLINE $203C, $0008, $004B, $AAA3;
  609.     {$ENDC}
  610. FUNCTION GetCSequencePrevBuffer(seqID: ImageSequence; VAR gworld: GWorldPtr): OSErr;
  611.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  612.     INLINE $7019, $AAA3;
  613.     {$ENDC}
  614. FUNCTION CDSequenceBusy(seqID: ImageSequence): OSErr;
  615.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  616.     INLINE $701A, $AAA3;
  617.     {$ENDC}
  618. FUNCTION CDSequenceEnd(seqID: ImageSequence): OSErr;
  619.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  620.     INLINE $701B, $AAA3;
  621.     {$ENDC}
  622. FUNCTION CDSequenceEquivalentImageDescription(seqID: ImageSequence; newDesc: ImageDescriptionHandle; VAR equivalent: BOOLEAN): OSErr;
  623.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  624.     INLINE $203C, $000C, $0065, $AAA3;
  625.     {$ENDC}
  626. FUNCTION GetCompressedImageSize(desc: ImageDescriptionHandle; data: Ptr; bufferSize: LONGINT; dataProc: ICMDataProcRecordPtr; VAR dataSize: LONGINT): OSErr;
  627.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  628.     INLINE $701C, $AAA3;
  629.     {$ENDC}
  630. FUNCTION GetSimilarity(src: PixMapHandle; {CONST}VAR srcRect: Rect; desc: ImageDescriptionHandle; data: Ptr; VAR similarity: Fixed): OSErr;
  631.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  632.     INLINE $701D, $AAA3;
  633.     {$ENDC}
  634. FUNCTION GetImageDescriptionCTable(desc: ImageDescriptionHandle; VAR ctable: CTabHandle): OSErr;
  635.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  636.     INLINE $701E, $AAA3;
  637.     {$ENDC}
  638. FUNCTION SetImageDescriptionCTable(desc: ImageDescriptionHandle; ctable: CTabHandle): OSErr;
  639.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  640.     INLINE $701F, $AAA3;
  641.     {$ENDC}
  642. FUNCTION GetImageDescriptionExtension(desc: ImageDescriptionHandle; VAR extension: Handle; idType: LONGINT; index: LONGINT): OSErr;
  643.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  644.     INLINE $7020, $AAA3;
  645.     {$ENDC}
  646. FUNCTION AddImageDescriptionExtension(desc: ImageDescriptionHandle; extension: Handle; idType: LONGINT): OSErr;
  647.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  648.     INLINE $7021, $AAA3;
  649.     {$ENDC}
  650.  
  651. FUNCTION RemoveImageDescriptionExtension(desc: ImageDescriptionHandle; idType: LONGINT; index: LONGINT): OSErr;
  652.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  653.     INLINE $203C, $000C, $003A, $AAA3;
  654.     {$ENDC}
  655. FUNCTION CountImageDescriptionExtensionType(desc: ImageDescriptionHandle; idType: LONGINT; VAR count: LONGINT): OSErr;
  656.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  657.     INLINE $203C, $000C, $003B, $AAA3;
  658.     {$ENDC}
  659. FUNCTION GetNextImageDescriptionExtensionType(desc: ImageDescriptionHandle; VAR idType: LONGINT): OSErr;
  660.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  661.     INLINE $203C, $0008, $003C, $AAA3;
  662.     {$ENDC}
  663. FUNCTION FindCodec(cType: CodecType; specCodec: CodecComponent; VAR compressor: CompressorComponent; VAR decompressor: DecompressorComponent): OSErr;
  664.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  665.     INLINE $7023, $AAA3;
  666.     {$ENDC}
  667. FUNCTION CompressPicture(srcPicture: PicHandle; dstPicture: PicHandle; quality: CodecQ; cType: CodecType): OSErr;
  668.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  669.     INLINE $7024, $AAA3;
  670.     {$ENDC}
  671. FUNCTION FCompressPicture(srcPicture: PicHandle; dstPicture: PicHandle; colorDepth: INTEGER; ctable: CTabHandle; quality: CodecQ; doDither: INTEGER; compressAgain: INTEGER; progressProc: ICMProgressProcRecordPtr; cType: CodecType; codec: CompressorComponent): OSErr;
  672.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  673.     INLINE $7025, $AAA3;
  674.     {$ENDC}
  675. FUNCTION CompressPictureFile(srcRefNum: INTEGER; dstRefNum: INTEGER; quality: CodecQ; cType: CodecType): OSErr;
  676.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  677.     INLINE $7026, $AAA3;
  678.     {$ENDC}
  679. FUNCTION FCompressPictureFile(srcRefNum: INTEGER; dstRefNum: INTEGER; colorDepth: INTEGER; ctable: CTabHandle; quality: CodecQ; doDither: INTEGER; compressAgain: INTEGER; progressProc: ICMProgressProcRecordPtr; cType: CodecType; codec: CompressorComponent): OSErr;
  680.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  681.     INLINE $7027, $AAA3;
  682.     {$ENDC}
  683. FUNCTION GetPictureFileHeader(refNum: INTEGER; VAR frame: Rect; VAR header: OpenCPicParams): OSErr;
  684.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  685.     INLINE $7028, $AAA3;
  686.     {$ENDC}
  687. FUNCTION DrawPictureFile(refNum: INTEGER; {CONST}VAR frame: Rect; progressProc: ICMProgressProcRecordPtr): OSErr;
  688.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  689.     INLINE $7029, $AAA3;
  690.     {$ENDC}
  691. FUNCTION DrawTrimmedPicture(srcPicture: PicHandle; {CONST}VAR frame: Rect; trimMask: RgnHandle; doDither: INTEGER; progressProc: ICMProgressProcRecordPtr): OSErr;
  692.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  693.     INLINE $702E, $AAA3;
  694.     {$ENDC}
  695. FUNCTION DrawTrimmedPictureFile(srcRefnum: INTEGER; {CONST}VAR frame: Rect; trimMask: RgnHandle; doDither: INTEGER; progressProc: ICMProgressProcRecordPtr): OSErr;
  696.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  697.     INLINE $702F, $AAA3;
  698.     {$ENDC}
  699. FUNCTION MakeThumbnailFromPicture(picture: PicHandle; colorDepth: INTEGER; thumbnail: PicHandle; progressProc: ICMProgressProcRecordPtr): OSErr;
  700.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  701.     INLINE $702A, $AAA3;
  702.     {$ENDC}
  703. FUNCTION MakeThumbnailFromPictureFile(refNum: INTEGER; colorDepth: INTEGER; thumbnail: PicHandle; progressProc: ICMProgressProcRecordPtr): OSErr;
  704.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  705.     INLINE $702B, $AAA3;
  706.     {$ENDC}
  707. FUNCTION MakeThumbnailFromPixMap(src: PixMapHandle; {CONST}VAR srcRect: Rect; colorDepth: INTEGER; thumbnail: PicHandle; progressProc: ICMProgressProcRecordPtr): OSErr;
  708.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  709.     INLINE $702C, $AAA3;
  710.     {$ENDC}
  711. FUNCTION TrimImage(desc: ImageDescriptionHandle; inData: Ptr; inBufferSize: LONGINT; dataProc: ICMDataProcRecordPtr; outData: Ptr; outBufferSize: LONGINT; flushProc: ICMFlushProcRecordPtr; VAR trimRect: Rect; progressProc: ICMProgressProcRecordPtr): OSErr;
  712.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  713.     INLINE $702D, $AAA3;
  714.     {$ENDC}
  715. FUNCTION ConvertImage(srcDD: ImageDescriptionHandle; srcData: Ptr; colorDepth: INTEGER; ctable: CTabHandle; accuracy: CodecQ; quality: CodecQ; cType: CodecType; codec: CodecComponent; dstDD: ImageDescriptionHandle; dstData: Ptr): OSErr;
  716.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  717.     INLINE $7030, $AAA3;
  718.     {$ENDC}
  719. FUNCTION GetCompressedPixMapInfo(pix: PixMapPtr; VAR desc: ImageDescriptionHandle; VAR data: Ptr; VAR bufferSize: LONGINT; VAR dataProc: ICMDataProcRecord; VAR progressProc: ICMProgressProcRecord): OSErr;
  720.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  721.     INLINE $7037, $AAA3;
  722.     {$ENDC}
  723. FUNCTION SetCompressedPixMapInfo(pix: PixMapPtr; desc: ImageDescriptionHandle; data: Ptr; bufferSize: LONGINT; dataProc: ICMDataProcRecordPtr; progressProc: ICMProgressProcRecordPtr): OSErr;
  724.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  725.     INLINE $7038, $AAA3;
  726.     {$ENDC}
  727. PROCEDURE StdPix(src: PixMapPtr; {CONST}VAR srcRect: Rect; matrix: MatrixRecordPtr; mode: INTEGER; mask: RgnHandle; matte: PixMapPtr; {CONST}VAR matteRect: Rect; flags: INTEGER);
  728.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  729.     INLINE $700C, $AAA3;
  730.     {$ENDC}
  731. FUNCTION TransformRgn(matrix: MatrixRecordPtr; rgn: RgnHandle): OSErr;
  732.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  733.     INLINE $7039, $AAA3;
  734.     {$ENDC}
  735.  
  736. {**********
  737.     preview stuff
  738. **********}
  739. PROCEDURE SFGetFilePreview(where: Point; prompt: ConstStr255Param; fileFilter: FileFilterUPP; numTypes: INTEGER; typeList: ConstSFTypeListPtr; dlgHook: DlgHookUPP; VAR reply: SFReply);
  740.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  741.     INLINE $7041, $AAA3;
  742.     {$ENDC}
  743. PROCEDURE SFPGetFilePreview(where: Point; prompt: ConstStr255Param; fileFilter: FileFilterUPP; numTypes: INTEGER; typeList: ConstSFTypeListPtr; dlgHook: DlgHookUPP; VAR reply: SFReply; dlgID: INTEGER; filterProc: ModalFilterUPP);
  744.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  745.     INLINE $7042, $AAA3;
  746.     {$ENDC}
  747. PROCEDURE StandardGetFilePreview(fileFilter: FileFilterUPP; numTypes: INTEGER; typeList: ConstSFTypeListPtr; VAR reply: StandardFileReply);
  748.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  749.     INLINE $7043, $AAA3;
  750.     {$ENDC}
  751. PROCEDURE CustomGetFilePreview(fileFilter: FileFilterYDUPP; numTypes: INTEGER; typeList: ConstSFTypeListPtr; VAR reply: StandardFileReply; dlgID: INTEGER; where: Point; dlgHook: DlgHookYDUPP; filterProc: ModalFilterYDUPP; activeList: ActivationOrderListPtr; activateProc: ActivateYDUPP; yourDataPtr: UNIV Ptr);
  752.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  753.     INLINE $7044, $AAA3;
  754.     {$ENDC}
  755. FUNCTION MakeFilePreview(resRefNum: INTEGER; progress: ICMProgressProcRecordPtr): OSErr;
  756.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  757.     INLINE $7045, $AAA3;
  758.     {$ENDC}
  759. FUNCTION AddFilePreview(resRefNum: INTEGER; previewType: OSType; previewData: Handle): OSErr;
  760.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  761.     INLINE $7046, $AAA3;
  762.     {$ENDC}
  763.  
  764. CONST
  765.     sfpItemPreviewAreaUser        = 11;
  766.     sfpItemPreviewStaticText    = 12;
  767.     sfpItemPreviewDividerUser    = 13;
  768.     sfpItemCreatePreviewButton    = 14;
  769.     sfpItemShowPreviewButton    = 15;
  770.  
  771.  
  772. TYPE
  773.     PreviewResourceRecordPtr = ^PreviewResourceRecord;
  774.     PreviewResourceRecord = RECORD
  775.         modDate:                LONGINT;
  776.         version:                INTEGER;
  777.         resType:                OSType;
  778.         resID:                    INTEGER;
  779.     END;
  780.  
  781.     PreviewResourcePtr                    = ^PreviewResourceRecord;
  782.     PreviewResource                        = ^PreviewResourcePtr;
  783. PROCEDURE AlignScreenRect(VAR rp: Rect; alignmentProc: ICMAlignmentProcRecordPtr);
  784.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  785.     INLINE $203C, $0008, $004C, $AAA3;
  786.     {$ENDC}
  787. PROCEDURE AlignWindow(wp: WindowPtr; front: BOOLEAN; {CONST}VAR alignmentRect: Rect; alignmentProc: ICMAlignmentProcRecordPtr);
  788.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  789.     INLINE $203C, $000E, $004D, $AAA3;
  790.     {$ENDC}
  791. PROCEDURE DragAlignedWindow(wp: WindowPtr; startPt: Point; VAR boundsRect: Rect; VAR alignmentRect: Rect; alignmentProc: ICMAlignmentProcRecordPtr);
  792.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  793.     INLINE $203C, $0014, $004E, $AAA3;
  794.     {$ENDC}
  795. FUNCTION DragAlignedGrayRgn(theRgn: RgnHandle; startPt: Point; VAR boundsRect: Rect; VAR slopRect: Rect; axis: INTEGER; actionProc: UniversalProcPtr; VAR alignmentRect: Rect; alignmentProc: ICMAlignmentProcRecordPtr): LONGINT;
  796.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  797.     INLINE $203C, $001E, $004F, $AAA3;
  798.     {$ENDC}
  799. FUNCTION SetCSequenceDataRateParams(seqID: ImageSequence; params: DataRateParamsPtr): OSErr;
  800.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  801.     INLINE $203C, $0008, $0050, $AAA3;
  802.     {$ENDC}
  803. FUNCTION SetCSequenceFrameNumber(seqID: ImageSequence; frameNumber: LONGINT): OSErr;
  804.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  805.     INLINE $203C, $0008, $0051, $AAA3;
  806.     {$ENDC}
  807. FUNCTION SetCSequencePreferredPacketSize(seqID: ImageSequence; preferredPacketSizeInBytes: LONGINT): OSErr;
  808.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  809.     INLINE $203C, $0008, $0078, $AAA3;
  810.     {$ENDC}
  811. FUNCTION NewImageGWorld(VAR gworld: GWorldPtr; idh: ImageDescriptionHandle; flags: GWorldFlags): OSErr;
  812.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  813.     INLINE $203C, $000C, $0052, $AAA3;
  814.     {$ENDC}
  815. FUNCTION GetCSequenceDataRateParams(seqID: ImageSequence; params: DataRateParamsPtr): OSErr;
  816.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  817.     INLINE $203C, $0008, $0053, $AAA3;
  818.     {$ENDC}
  819. FUNCTION GetCSequenceFrameNumber(seqID: ImageSequence; VAR frameNumber: LONGINT): OSErr;
  820.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  821.     INLINE $203C, $0008, $0054, $AAA3;
  822.     {$ENDC}
  823. FUNCTION GetBestDeviceRect(VAR gdh: GDHandle; VAR rp: Rect): OSErr;
  824.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  825.     INLINE $203C, $0008, $0055, $AAA3;
  826.     {$ENDC}
  827. FUNCTION SetSequenceProgressProc(seqID: ImageSequence; VAR progressProc: ICMProgressProcRecord): OSErr;
  828.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  829.     INLINE $203C, $0008, $0056, $AAA3;
  830.     {$ENDC}
  831. FUNCTION GDHasScale(gdh: GDHandle; depth: INTEGER; VAR scale: Fixed): OSErr;
  832.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  833.     INLINE $203C, $000A, $005A, $AAA3;
  834.     {$ENDC}
  835. FUNCTION GDGetScale(gdh: GDHandle; VAR scale: Fixed; VAR flags: INTEGER): OSErr;
  836.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  837.     INLINE $203C, $000C, $005B, $AAA3;
  838.     {$ENDC}
  839. FUNCTION GDSetScale(gdh: GDHandle; scale: Fixed; flags: INTEGER): OSErr;
  840.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  841.     INLINE $203C, $000A, $005C, $AAA3;
  842.     {$ENDC}
  843. FUNCTION ICMShieldSequenceCursor(seqID: ImageSequence): OSErr;
  844.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  845.     INLINE $203C, $0004, $0062, $AAA3;
  846.     {$ENDC}
  847. PROCEDURE ICMDecompressComplete(seqID: ImageSequence; err: OSErr; flag: INTEGER; completionRtn: ICMCompletionProcRecordPtr);
  848.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  849.     INLINE $203C, $000C, $0063, $AAA3;
  850.     {$ENDC}
  851. FUNCTION SetDSequenceTimeCode(seqID: ImageSequence; timeCodeFormat: UNIV Ptr; timeCodeTime: UNIV Ptr): OSErr;
  852.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  853.     INLINE $203C, $000C, $0064, $AAA3;
  854.     {$ENDC}
  855. FUNCTION CDSequenceNewMemory(seqID: ImageSequence; VAR data: Ptr; dataSize: Size; dataUse: LONGINT; memoryGoneProc: ICMMemoryDisposedUPP; refCon: UNIV Ptr): OSErr;
  856.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  857.     INLINE $203C, $0018, $0066, $AAA3;
  858.     {$ENDC}
  859. FUNCTION CDSequenceDisposeMemory(seqID: ImageSequence; data: Ptr): OSErr;
  860.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  861.     INLINE $203C, $0008, $0067, $AAA3;
  862.     {$ENDC}
  863. FUNCTION CDSequenceNewDataSource(seqID: ImageSequence; VAR sourceID: ImageSequenceDataSource; sourceType: OSType; sourceInputNumber: LONGINT; dataDescription: Handle; transferProc: UNIV Ptr; refCon: UNIV Ptr): OSErr;
  864.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  865.     INLINE $203C, $001C, $0068, $AAA3;
  866.     {$ENDC}
  867. FUNCTION CDSequenceDisposeDataSource(sourceID: ImageSequenceDataSource): OSErr;
  868.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  869.     INLINE $203C, $0004, $0069, $AAA3;
  870.     {$ENDC}
  871. FUNCTION CDSequenceSetSourceData(sourceID: ImageSequenceDataSource; data: UNIV Ptr; dataSize: LONGINT): OSErr;
  872.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  873.     INLINE $203C, $000C, $006A, $AAA3;
  874.     {$ENDC}
  875. FUNCTION CDSequenceChangedSourceData(sourceID: ImageSequenceDataSource): OSErr;
  876.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  877.     INLINE $203C, $0004, $006B, $AAA3;
  878.     {$ENDC}
  879. FUNCTION PtInDSequenceData(seqID: ImageSequence; data: UNIV Ptr; dataSize: Size; where: Point; VAR hit: BOOLEAN): OSErr;
  880.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  881.     INLINE $203C, $0014, $006C, $AAA3;
  882.     {$ENDC}
  883. FUNCTION GetGraphicsImporterForFile({CONST}VAR theFile: FSSpec; VAR gi: ComponentInstance): OSErr;
  884.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  885.     INLINE $203C, $0008, $006E, $AAA3;
  886.     {$ENDC}
  887. FUNCTION GetGraphicsImporterForDataRef(dataRef: Handle; dataRefType: OSType; VAR gi: ComponentInstance): OSErr;
  888.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  889.     INLINE $203C, $000C, $0077, $AAA3;
  890.     {$ENDC}
  891. FUNCTION ImageTranscodeSequenceBegin(VAR its: ImageTranscodeSequence; srcDesc: ImageDescriptionHandle; destType: OSType; VAR dstDesc: ImageDescriptionHandle; data: UNIV Ptr; dataSize: LONGINT): OSErr;
  892.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  893.     INLINE $203C, $0018, $006F, $AAA3;
  894.     {$ENDC}
  895. FUNCTION ImageTranscodeSequenceEnd(its: ImageTranscodeSequence): OSErr;
  896.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  897.     INLINE $203C, $0004, $0070, $AAA3;
  898.     {$ENDC}
  899. FUNCTION ImageTranscodeFrame(its: ImageTranscodeSequence; srcData: UNIV Ptr; srcDataSize: LONGINT; VAR dstData: UNIV Ptr; VAR dstDataSize: LONGINT): OSErr;
  900.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  901.     INLINE $203C, $0014, $0071, $AAA3;
  902.     {$ENDC}
  903. FUNCTION ImageTranscodeDisposeFrameData(its: ImageTranscodeSequence; dstData: UNIV Ptr): OSErr;
  904.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  905.     INLINE $203C, $0008, $0072, $AAA3;
  906.     {$ENDC}
  907. FUNCTION CDSequenceInvalidate(seqID: ImageSequence; invalRgn: RgnHandle): OSErr;
  908.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  909.     INLINE $203C, $0008, $0073, $AAA3;
  910.     {$ENDC}
  911. FUNCTION ImageFieldSequenceBegin(VAR ifs: ImageFieldSequence; desc1: ImageDescriptionHandle; desc2: ImageDescriptionHandle; descOut: ImageDescriptionHandle): OSErr;
  912.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  913.     INLINE $203C, $0010, $006D, $AAA3;
  914.     {$ENDC}
  915. FUNCTION ImageFieldSequenceExtractCombine(ifs: ImageFieldSequence; fieldFlags: LONGINT; data1: UNIV Ptr; dataSize1: LONGINT; data2: UNIV Ptr; dataSize2: LONGINT; outputData: UNIV Ptr; VAR outDataSize: LONGINT): OSErr;
  916.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  917.     INLINE $203C, $0020, $0075, $AAA3;
  918.     {$ENDC}
  919. FUNCTION ImageFieldSequenceEnd(ifs: ImageFieldSequence): OSErr;
  920.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  921.     INLINE $203C, $0004, $0076, $AAA3;
  922.     {$ENDC}
  923.  
  924.  
  925.  
  926.  
  927. CONST
  928.     identityMatrixType            = $00;                            {  result if matrix is identity  }
  929.     translateMatrixType            = $01;                            {  result if matrix translates  }
  930.     scaleMatrixType                = $02;                            {  result if matrix scales  }
  931.     scaleTranslateMatrixType    = $03;                            {  result if matrix scales and translates  }
  932.     linearMatrixType            = $04;                            {  result if matrix is general 2 x 2  }
  933.     linearTranslateMatrixType    = $05;                            {  result if matrix is general 2 x 2 and translates  }
  934.     perspectiveMatrixType        = $06;                            {  result if matrix is general 3 x 3  }
  935.  
  936.  
  937. TYPE
  938.     MatrixFlags                            = INTEGER;
  939. FUNCTION GetMatrixType({CONST}VAR m: MatrixRecord): INTEGER;
  940.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  941.     INLINE $7014, $ABC2;
  942.     {$ENDC}
  943. PROCEDURE CopyMatrix({CONST}VAR m1: MatrixRecord; VAR m2: MatrixRecord);
  944.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  945.     INLINE $7020, $ABC2;
  946.     {$ENDC}
  947. FUNCTION EqualMatrix({CONST}VAR m1: MatrixRecord; {CONST}VAR m2: MatrixRecord): BOOLEAN;
  948.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  949.     INLINE $7021, $ABC2;
  950.     {$ENDC}
  951. PROCEDURE SetIdentityMatrix(VAR matrix: MatrixRecord);
  952.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  953.     INLINE $7015, $ABC2;
  954.     {$ENDC}
  955. PROCEDURE TranslateMatrix(VAR m: MatrixRecord; deltaH: Fixed; deltaV: Fixed);
  956.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  957.     INLINE $7019, $ABC2;
  958.     {$ENDC}
  959. PROCEDURE RotateMatrix(VAR m: MatrixRecord; degrees: Fixed; aboutX: Fixed; aboutY: Fixed);
  960.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  961.     INLINE $7016, $ABC2;
  962.     {$ENDC}
  963. PROCEDURE ScaleMatrix(VAR m: MatrixRecord; scaleX: Fixed; scaleY: Fixed; aboutX: Fixed; aboutY: Fixed);
  964.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  965.     INLINE $7017, $ABC2;
  966.     {$ENDC}
  967. PROCEDURE SkewMatrix(VAR m: MatrixRecord; skewX: Fixed; skewY: Fixed; aboutX: Fixed; aboutY: Fixed);
  968.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  969.     INLINE $7018, $ABC2;
  970.     {$ENDC}
  971. FUNCTION TransformFixedPoints({CONST}VAR m: MatrixRecord; VAR fpt: FixedPoint; count: LONGINT): OSErr;
  972.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  973.     INLINE $7022, $ABC2;
  974.     {$ENDC}
  975. FUNCTION TransformPoints({CONST}VAR mp: MatrixRecord; VAR pt1: Point; count: LONGINT): OSErr;
  976.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  977.     INLINE $7023, $ABC2;
  978.     {$ENDC}
  979. FUNCTION TransformFixedRect({CONST}VAR m: MatrixRecord; VAR fr: FixedRect; VAR fpp: FixedPoint): BOOLEAN;
  980.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  981.     INLINE $7024, $ABC2;
  982.     {$ENDC}
  983. FUNCTION TransformRect({CONST}VAR m: MatrixRecord; VAR r: Rect; VAR fpp: FixedPoint): BOOLEAN;
  984.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  985.     INLINE $7025, $ABC2;
  986.     {$ENDC}
  987. FUNCTION InverseMatrix({CONST}VAR m: MatrixRecord; VAR im: MatrixRecord): BOOLEAN;
  988.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  989.     INLINE $701C, $ABC2;
  990.     {$ENDC}
  991. PROCEDURE ConcatMatrix({CONST}VAR a: MatrixRecord; VAR b: MatrixRecord);
  992.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  993.     INLINE $701B, $ABC2;
  994.     {$ENDC}
  995. PROCEDURE RectMatrix(VAR matrix: MatrixRecord; {CONST}VAR srcRect: Rect; {CONST}VAR dstRect: Rect);
  996.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  997.     INLINE $701E, $ABC2;
  998.     {$ENDC}
  999. PROCEDURE MapMatrix(VAR matrix: MatrixRecord; {CONST}VAR fromRect: Rect; {CONST}VAR toRect: Rect);
  1000.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  1001.     INLINE $701D, $ABC2;
  1002.     {$ENDC}
  1003.  
  1004.  
  1005.  
  1006.  
  1007.  
  1008.  
  1009. PROCEDURE CompAdd(VAR src: wide; VAR dst: wide);
  1010.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  1011.     INLINE $7001, $ABC2;
  1012.     {$ENDC}
  1013. PROCEDURE CompSub(VAR src: wide; VAR dst: wide);
  1014.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  1015.     INLINE $7002, $ABC2;
  1016.     {$ENDC}
  1017. PROCEDURE CompNeg(VAR dst: wide);
  1018.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  1019.     INLINE $7003, $ABC2;
  1020.     {$ENDC}
  1021. PROCEDURE CompShift(VAR src: wide; shift: INTEGER);
  1022.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  1023.     INLINE $7004, $ABC2;
  1024.     {$ENDC}
  1025. PROCEDURE CompMul(src1: LONGINT; src2: LONGINT; VAR dst: wide);
  1026.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  1027.     INLINE $7005, $ABC2;
  1028.     {$ENDC}
  1029. FUNCTION CompDiv(VAR numerator: wide; denominator: LONGINT; VAR remainder: LONGINT): LONGINT;
  1030.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  1031.     INLINE $7006, $ABC2;
  1032.     {$ENDC}
  1033. PROCEDURE CompFixMul(VAR compSrc: wide; fixSrc: Fixed; VAR compDst: wide);
  1034.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  1035.     INLINE $7007, $ABC2;
  1036.     {$ENDC}
  1037. PROCEDURE CompMulDiv(VAR co: wide; mul: LONGINT; divisor: LONGINT);
  1038.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  1039.     INLINE $7008, $ABC2;
  1040.     {$ENDC}
  1041. PROCEDURE CompMulDivTrunc(VAR co: wide; mul: LONGINT; divisor: LONGINT; VAR remainder: LONGINT);
  1042.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  1043.     INLINE $700C, $ABC2;
  1044.     {$ENDC}
  1045. FUNCTION CompCompare(VAR a: wide; VAR minusb: wide): LONGINT;
  1046.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  1047.     INLINE $7009, $ABC2;
  1048.     {$ENDC}
  1049. FUNCTION FixMulDiv(src: Fixed; mul: Fixed; divisor: Fixed): Fixed;
  1050.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  1051.     INLINE $700A, $ABC2;
  1052.     {$ENDC}
  1053. FUNCTION UnsignedFixMulDiv(src: Fixed; mul: Fixed; divisor: Fixed): Fixed;
  1054.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  1055.     INLINE $700D, $ABC2;
  1056.     {$ENDC}
  1057. FUNCTION FracSinCos(degree: Fixed; VAR cosOut: Fract): Fract;
  1058.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  1059.     INLINE $700B, $ABC2;
  1060.     {$ENDC}
  1061. FUNCTION FixExp2(src: Fixed): Fixed;
  1062.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  1063.     INLINE $700E, $ABC2;
  1064.     {$ENDC}
  1065. FUNCTION FixLog2(src: Fixed): Fixed;
  1066.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  1067.     INLINE $700F, $ABC2;
  1068.     {$ENDC}
  1069. FUNCTION FixPow(base: Fixed; exp: Fixed): Fixed;
  1070.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  1071.     INLINE $7010, $ABC2;
  1072.     {$ENDC}
  1073.  
  1074.  
  1075.  
  1076.  
  1077. TYPE
  1078.     GraphicsImportComponent                = ComponentInstance;
  1079.  
  1080. CONST
  1081.     GraphicsImporterComponentType = 'grip';
  1082.  
  1083.  
  1084.  
  1085. {* These are GraphicsImport procedures *}
  1086. FUNCTION GraphicsImportSetDataReference(ci: GraphicsImportComponent; dataRef: Handle; dataReType: OSType): ComponentResult;
  1087.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  1088.     INLINE $2F3C, $0008, $0001, $7000, $A82A;
  1089.     {$ENDC}
  1090. FUNCTION GraphicsImportGetDataReference(ci: GraphicsImportComponent; VAR dataRef: Handle; VAR dataReType: OSType): ComponentResult;
  1091.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  1092.     INLINE $2F3C, $0008, $0002, $7000, $A82A;
  1093.     {$ENDC}
  1094. FUNCTION GraphicsImportSetDataFile(ci: GraphicsImportComponent; {CONST}VAR theFile: FSSpec): ComponentResult;
  1095.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  1096.     INLINE $2F3C, $0004, $0003, $7000, $A82A;
  1097.     {$ENDC}
  1098. FUNCTION GraphicsImportGetDataFile(ci: GraphicsImportComponent; VAR theFile: FSSpec): ComponentResult;
  1099.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  1100.     INLINE $2F3C, $0004, $0004, $7000, $A82A;
  1101.     {$ENDC}
  1102. FUNCTION GraphicsImportSetDataHandle(ci: GraphicsImportComponent; h: Handle): ComponentResult;
  1103.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  1104.     INLINE $2F3C, $0004, $0005, $7000, $A82A;
  1105.     {$ENDC}
  1106. FUNCTION GraphicsImportGetDataHandle(ci: GraphicsImportComponent; VAR h: Handle): ComponentResult;
  1107.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  1108.     INLINE $2F3C, $0004, $0006, $7000, $A82A;
  1109.     {$ENDC}
  1110. FUNCTION GraphicsImportGetImageDescription(ci: GraphicsImportComponent; VAR desc: ImageDescriptionHandle): ComponentResult;
  1111.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  1112.     INLINE $2F3C, $0004, $0007, $7000, $A82A;
  1113.     {$ENDC}
  1114. FUNCTION GraphicsImportGetDataOffsetAndSize(ci: GraphicsImportComponent; VAR offset: LONGINT; VAR size: LONGINT): ComponentResult;
  1115.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  1116.     INLINE $2F3C, $0008, $0008, $7000, $A82A;
  1117.     {$ENDC}
  1118. FUNCTION GraphicsImportReadData(ci: GraphicsImportComponent; dataPtr: UNIV Ptr; dataOffset: LONGINT; dataSize: LONGINT): ComponentResult;
  1119.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  1120.     INLINE $2F3C, $000C, $0009, $7000, $A82A;
  1121.     {$ENDC}
  1122. FUNCTION GraphicsImportSetClip(ci: GraphicsImportComponent; clipRgn: RgnHandle): ComponentResult;
  1123.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  1124.     INLINE $2F3C, $0004, $000A, $7000, $A82A;
  1125.     {$ENDC}
  1126. FUNCTION GraphicsImportGetClip(ci: GraphicsImportComponent; VAR clipRgn: RgnHandle): ComponentResult;
  1127.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  1128.     INLINE $2F3C, $0004, $000B, $7000, $A82A;
  1129.     {$ENDC}
  1130. FUNCTION GraphicsImportSetSourceRect(ci: GraphicsImportComponent; {CONST}VAR sourceRect: Rect): ComponentResult;
  1131.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  1132.     INLINE $2F3C, $0004, $000C, $7000, $A82A;
  1133.     {$ENDC}
  1134. FUNCTION GraphicsImportGetSourceRect(ci: GraphicsImportComponent; VAR sourceRect: Rect): ComponentResult;
  1135.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  1136.     INLINE $2F3C, $0004, $000D, $7000, $A82A;
  1137.     {$ENDC}
  1138. FUNCTION GraphicsImportGetNaturalBounds(ci: GraphicsImportComponent; VAR naturalBounds: Rect): ComponentResult;
  1139.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  1140.     INLINE $2F3C, $0004, $000E, $7000, $A82A;
  1141.     {$ENDC}
  1142. FUNCTION GraphicsImportDraw(ci: GraphicsImportComponent): ComponentResult;
  1143.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  1144.     INLINE $2F3C, $0000, $000F, $7000, $A82A;
  1145.     {$ENDC}
  1146. FUNCTION GraphicsImportSetGWorld(ci: GraphicsImportComponent; port: CGrafPtr; gd: GDHandle): ComponentResult;
  1147.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  1148.     INLINE $2F3C, $0008, $0010, $7000, $A82A;
  1149.     {$ENDC}
  1150. FUNCTION GraphicsImportGetGWorld(ci: GraphicsImportComponent; VAR port: CGrafPtr; VAR gd: GDHandle): ComponentResult;
  1151.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  1152.     INLINE $2F3C, $0008, $0011, $7000, $A82A;
  1153.     {$ENDC}
  1154. FUNCTION GraphicsImportSetMatrix(ci: GraphicsImportComponent; {CONST}VAR matrix: MatrixRecord): ComponentResult;
  1155.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  1156.     INLINE $2F3C, $0004, $0012, $7000, $A82A;
  1157.     {$ENDC}
  1158. FUNCTION GraphicsImportGetMatrix(ci: GraphicsImportComponent; VAR matrix: MatrixRecord): ComponentResult;
  1159.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  1160.     INLINE $2F3C, $0004, $0013, $7000, $A82A;
  1161.     {$ENDC}
  1162. FUNCTION GraphicsImportSetBoundsRect(ci: GraphicsImportComponent; {CONST}VAR bounds: Rect): ComponentResult;
  1163.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  1164.     INLINE $2F3C, $0004, $0014, $7000, $A82A;
  1165.     {$ENDC}
  1166. FUNCTION GraphicsImportGetBoundsRect(ci: GraphicsImportComponent; VAR bounds: Rect): ComponentResult;
  1167.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  1168.     INLINE $2F3C, $0004, $0015, $7000, $A82A;
  1169.     {$ENDC}
  1170. FUNCTION GraphicsImportSaveAsPicture(ci: GraphicsImportComponent; {CONST}VAR fss: FSSpec; scriptTag: ScriptCode): ComponentResult;
  1171.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  1172.     INLINE $2F3C, $0006, $0016, $7000, $A82A;
  1173.     {$ENDC}
  1174. FUNCTION GraphicsImportSetGraphicsMode(ci: GraphicsImportComponent; graphicsMode: LONGINT; {CONST}VAR opColor: RGBColor): ComponentResult;
  1175.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  1176.     INLINE $2F3C, $0008, $0017, $7000, $A82A;
  1177.     {$ENDC}
  1178. FUNCTION GraphicsImportGetGraphicsMode(ci: GraphicsImportComponent; VAR graphicsMode: LONGINT; VAR opColor: RGBColor): ComponentResult;
  1179.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  1180.     INLINE $2F3C, $0008, $0018, $7000, $A82A;
  1181.     {$ENDC}
  1182. FUNCTION GraphicsImportSetQuality(ci: GraphicsImportComponent; quality: CodecQ): ComponentResult;
  1183.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  1184.     INLINE $2F3C, $0004, $0019, $7000, $A82A;
  1185.     {$ENDC}
  1186. FUNCTION GraphicsImportGetQuality(ci: GraphicsImportComponent; VAR quality: CodecQ): ComponentResult;
  1187.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  1188.     INLINE $2F3C, $0004, $001A, $7000, $A82A;
  1189.     {$ENDC}
  1190. FUNCTION GraphicsImportSaveAsQuickTimeImageFile(ci: GraphicsImportComponent; {CONST}VAR fss: FSSpec; scriptTag: ScriptCode): ComponentResult;
  1191.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  1192.     INLINE $2F3C, $0006, $001B, $7000, $A82A;
  1193.     {$ENDC}
  1194. FUNCTION GraphicsImportSetDataReferenceOffsetAndLimit(ci: GraphicsImportComponent; offset: LONGINT; limit: LONGINT): ComponentResult;
  1195.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  1196.     INLINE $2F3C, $0008, $001C, $7000, $A82A;
  1197.     {$ENDC}
  1198. FUNCTION GraphicsImportGetDataReferenceOffsetAndLimit(ci: GraphicsImportComponent; VAR offset: LONGINT; VAR limit: LONGINT): ComponentResult;
  1199.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  1200.     INLINE $2F3C, $0008, $001D, $7000, $A82A;
  1201.     {$ENDC}
  1202. FUNCTION GraphicsImportGetAliasedDataReference(ci: GraphicsImportComponent; VAR dataRef: Handle; VAR dataRefType: OSType): ComponentResult;
  1203.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  1204.     INLINE $2F3C, $0008, $001E, $7000, $A82A;
  1205.     {$ENDC}
  1206. FUNCTION GraphicsImportValidate(ci: GraphicsImportComponent; VAR valid: BOOLEAN): ComponentResult;
  1207.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  1208.     INLINE $2F3C, $0004, $001F, $7000, $A82A;
  1209.     {$ENDC}
  1210.  
  1211.  
  1212. TYPE
  1213.     ImageTranscoderComponent            = ComponentInstance;
  1214.  
  1215. CONST
  1216.     ImageTranscodererComponentType = 'imtc';
  1217.  
  1218.  
  1219. {* These are ImageTranscoder procedures *}
  1220. FUNCTION ImageTranscoderBeginSequence(itc: ImageTranscoderComponent; srcDesc: ImageDescriptionHandle; VAR dstDesc: ImageDescriptionHandle; data: UNIV Ptr; dataSize: LONGINT): ComponentResult;
  1221.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  1222.     INLINE $2F3C, $0010, $0001, $7000, $A82A;
  1223.     {$ENDC}
  1224. FUNCTION ImageTranscoderConvert(itc: ImageTranscoderComponent; srcData: UNIV Ptr; srcDataSize: LONGINT; VAR dstData: UNIV Ptr; VAR dstDataSize: LONGINT): ComponentResult;
  1225.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  1226.     INLINE $2F3C, $0010, $0002, $7000, $A82A;
  1227.     {$ENDC}
  1228. FUNCTION ImageTranscoderDisposeData(itc: ImageTranscoderComponent; dstData: UNIV Ptr): ComponentResult;
  1229.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  1230.     INLINE $2F3C, $0004, $0003, $7000, $A82A;
  1231.     {$ENDC}
  1232. FUNCTION ImageTranscoderEndSequence(itc: ImageTranscoderComponent): ComponentResult;
  1233.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  1234.     INLINE $2F3C, $0000, $0004, $7000, $A82A;
  1235.     {$ENDC}
  1236. { UPP call backs }
  1237.  
  1238. {$ALIGN RESET}
  1239. {$POP}
  1240.  
  1241. {$SETC UsingIncludes := ImageCompressionIncludes}
  1242.  
  1243. {$ENDC} {__IMAGECOMPRESSION__}
  1244.  
  1245. {$IFC NOT UsingIncludes}
  1246.  END.
  1247. {$ENDC}
  1248.